'''
 类的特性
 封装，继承，多态
 封装是把常用的方法或者变量封装成成员方法来使用
'''

# 设置变量函数
class student:
    def __init__(self,a,b):
        self.name = a
        self.__age = b
        # 设置变量的值
    def sat_age(self,value):
        if self.__age > 0:
            self.__age = value
        # 设置变量的值
    def get_age(self):
        return self.__age
s1 = student('王大锤',28)
s1.sat_age(-2)
print(s1.get_age())
# 如果不想让成员变量通过对象名、变量 直接修改，我们可以在变量前面加上__

# 继承
# 通过继承，一个类可以用另一个类的属性和方法
class animal:
    def __init__(self):
        self.name = '动物'
    def eat(self):
        print('动物都会吃食物')
    def sleep(self):
        print('睡觉')
    def run(self):
        print('跑')

#  羊类是动物类的子类
class sheep(animal):
    def __init__(self):
        print('吃草')
# 老虎类是动物的子类
class tiget(animal):
    def eat(self):
        print('吃肉')
s1 = sheep()
s1.eat()
s1.sleep()
s1.run()
t1 = sheep()
t1.eat()
t1.sleep()
t1.run()

# 多态就是多种线形态
# 统一调用，通过传入不同的对象，得到得到不同的结果
def my_fun(a):
    a.eat()







